Dans notre partie de Domotique DIY nous allons voir comment compléter notre installation avec une surveillance vidéo. Pour cela nous n’avons pas besoins de grande chose. Si vous chercher bien dans vos tiroirs vous allez trouver surement une vielle webcam que vous n’utilisez plus. C’est le moment de la transformer en quelque chose d’utile. Notre propre camera IP Ethernet et Wifi.
Matériels:
- Une Webcam USB
- un Raspberry Pi (n’importe quel model)
- une carte SD
- une alimentation de 5 V
- une clé Wifi (option)
Pour commencer installer la dernière version lite de Raspbian (dans mon cas Jessie) sur votre SD.
- télécharger Raspbian Jessie Lite
- transférer l’image sur votre SD avec Win32 Disk Manager
- Démarrer votre Framboise.
- Configurer avec raspi-config
- Changer le mot de passe
- Passer le clavier en AZERTY
- Passer Raspbian en français
- Bien activer le SSH
- etc…
Pour cela je vous conseille de suivre un des nombreux tutoriaux du web.
Votre système est maintenant proprement configuré, il ne nous reste plus qu’à le mettre à jour.
1 | sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade |
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade
Armer vous de patience cela risque de durer un bon moment 😉
Une petite mise à jours du firmware s’impose si votre framboise n’as pas servie depuis beaucoup de temps;
1 2 | sudo apt-get install rpi-update sudo rpi-update |
sudo apt-get install rpi-update sudo rpi-update
Nous pouvons passer maintenant à l’essentiel, …. en fin 😉 Pour pouvoir coupler notre webcam avec notre RPi nous avons besoins d’un software. Le plus léger et plus fiable pour Raspbian est #mjpg-streamer.
Installation de Mjpg-Streamer
Pour pouvoir l’utiliser nous avons besoins de quelques “depondences”
1 | sudo apt-get install libjpeg8-dev imagemagick libv4l-dev |
sudo apt-get install libjpeg8-dev imagemagick libv4l-dev
Création du lien symboliques pour les bibliothèques liées
1 | ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h |
ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
Téléchargement de mjpg-streamer
1 | wget http://sourceforge.net/code-snapshots/svn/m/mj/mjpg-streamer/code/mjpg-streamer-code-182.zip |
wget http://sourceforge.net/code-snapshots/svn/m/mj/mjpg-streamer/code/mjpg-streamer-code-182.zip
Maintenant il faut deziper
1 | unzip mjpg-streamer-code-182.zip |
unzip mjpg-streamer-code-182.zip
Il faut vérifier quel format d’image utilise notre webcam, pour cela nous allons utiliser v4l2 qui est installé par défaut sur raspbian (à partir de 2015), si ce n’est pas votre cas vous pouvez l’installer
1 2 | sudo apt-get install v4l2-utils sudo apt-get install uv4l2 uv4l2-raspicam |
sudo apt-get install v4l2-utils sudo apt-get install uv4l2 uv4l2-raspicam
Vérification:
1 | v4l2-ctl –-list-formats |
v4l2-ctl –-list-formats
Dans mon cas j’obtiens le format YUYV
1 2 3 4 5 | ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: ‘YUYV’ Name : YUYV |
ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: ‘YUYV’ Name : YUYV
Nous construirons notre paquet en fonction:
1 2 3 4 5 | cd /mjpg-streamer-code-182/mjpg-streamer make mjpg_streamer input_file.so input_uvc.so output_http.so sudo cp mjpg_streamer /usr/local/bin sudo cp output_http.so input_file.so input_uvc.so /usr/local/lib/ sudo cp -R www /usr/local/www |
cd /mjpg-streamer-code-182/mjpg-streamer make mjpg_streamer input_file.so input_uvc.so output_http.so sudo cp mjpg_streamer /usr/local/bin sudo cp output_http.so input_file.so input_uvc.so /usr/local/lib/ sudo cp -R www /usr/local/www
Lancement de mjpg-streamer
Dans mon cas le format d’image est YUYV alors je tape
1 | /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -y" -o "/usr/local/lib/output_http.so -w /usr/local/www" |
/usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -y" -o "/usr/local/lib/output_http.so -w /usr/local/www"
si votre camera utilise le format MJPEG alors vous devez taper
1 | /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so" -o "/usr/local/lib/output_http.so -w /usr/local/www" |
/usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so" -o "/usr/local/lib/output_http.so -w /usr/local/www"
Pour visionner votre image il vous reste d’aller dans un navigateur et taper l’adresse de votre RPi ou saisir a même URL dans le logiciel VLC.
1 2 3 4 | http://Adresse_IP_RPi:8080 #exemple http://192.168.1.5:8080 |
http://Adresse_IP_RPi:8080 #exemple http://192.168.1.5:8080
Les commande de MJPG-Streamer
-i : utilisation de camera USB
-o : output_http.so envoie des images vers un serveur web
-w : lien vers le répertoire HTML, Java ou JS : /usr/local/www
-b : fonctionne en arrière-plan
-p : defini le port (defaut 8080)
-c : défini username:password
-y active le format YUYV et désactive MJPEG
-f : fréquence d’images (en seconds)
Configuration de Wifi (option)
La configuration de Wifi sous jessie et différente des autres configs rasbian 😉 Suivez le guide ;):
- brancher votre clé Wifi a votre framboise
- scanner le réseau à la recherche de ESSID
1
sudo iwlist wlan0 scan
sudo iwlist wlan0 scan
- Copier votre ESSID
- Ouvrer le fichier wpa_supplicant.conf
1
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
- Ajouter à la fin les lignes suivante
1 2 3 4
network={ ssid="Votre ESSID" psk="Le Mot de passe" }
network={ ssid="Votre ESSID" psk="Le Mot de passe" }
- faite Ctrl+X
- puis taper O ou Y
- redémarrer votre interface Wifi
1 2
sudo ifdown wlan0 sudo ifup wlan0
sudo ifdown wlan0 sudo ifup wlan0
- ou redemarrer le RPi
1
sudo reboot
sudo reboot
Votre Wifi est opérationnel vous pouvez vérifier avec la commande suivante:
1
ifconfig wlan0
ifconfig wlan0
si vous trouvez quelque chose comme
1
inet addr 192.168.1.125
inet addr 192.168.1.125
alors c’est bon ça fonctionne… 😉
Votre camera IP et opérationnelle, il vous reste maintenant à la placer dans un endroit stratégique.
[…] Domotique DIY – Partie 5 – Camera de surveillance : Domotique-Home […]